package router

import (
	"fmt"
	"goGin/model"

	"github.com/garyburd/redigo/redis"
	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

func Others(r *gin.Engine, db *gorm.DB, d redis.Conn) {
	r.GET("/getUsersis", func(c *gin.Context) { //查找用户是否存在
		fmt.Print(c.Request.Host)
		models := []model.Userfrieds{}
		query := c.Query("key")
		if query == "" {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "用户号码不能为空",
				"data":  models,
			})
			return
		}

		result := db.Where("phone = ?", query).Find(&models)
		if result.Error != nil {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "查询错误",
			})
			return
		}
		// fmt.Print(models, len(models))
		// c.JSON(200, gin.H{
		// 	"state":  200,
		// 	"msg":    "ok",
		// 	"istrue": 1,
		// 	"data":   "",
		// })
		// return
		if len(models) > 0 {
			c.JSON(200, gin.H{
				"state":  200,
				"msg":    "ok",
				"istrue": 1,
				"data":   models[0],
			})
			return
		}
		c.JSON(200, gin.H{
			"state":  200,
			"msg":    "ok",
			"istrue": 0,
			"data":   "[]",
		})

	})
	r.GET("/getUsers", func(c *gin.Context) { //查找用户
		fmt.Print(c.Request.Host)
		models := []model.User{}
		query := c.Query("key")
		if query == "" {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "ok",
				"data":  models,
			})
			return
		}

		result := db.Where("username LIKE ? or phone LIKE ?", "%"+query+"%", "%"+query+"%").Find(&models)
		if result.Error != nil {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "查询错误",
			})
			return
		}
		c.JSON(200, gin.H{
			"state": 200,
			"msg":   "ok",
			"data":  models,
		})
	})
	r.GET("/getUsersdetail", func(c *gin.Context) { //根据id查找用户
		fmt.Print(c.Request.Host)
		models := model.User{}
		query := c.Query("key")
		if query == "" {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "参数错误",
			})
			return
		}

		result := db.Where("id = ?", query).Find(&models)
		if result.Error != nil {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "查询错误",
			})
			return
		}
		c.JSON(200, gin.H{
			"state": 200,
			"msg":   "ok",
			"data":  models,
		})
	})
	r.GET("/getFried", func(c *gin.Context) { //获取用户联系人
		models := []model.Userfrieds{}
		query := c.Query("pid")
		if query == "" {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "参数错误",
			})
			return
		}

		result := db.Where("pid = ?", query).Find(&models)
		if result.Error != nil {
			c.JSON(200, gin.H{
				"state": 400,
				"msg":   "查询错误",
			})
			return
		}
		c.JSON(200, gin.H{
			"state": 200,
			"msg":   "ok",
			"data":  models,
		})
	})
	r.POST("/addcontact", func(c *gin.Context) { //查找用户

	})

	r.POST("/saveimg", func(c *gin.Context) {
		var Json model.Query
		if err := c.ShouldBindJSON(&Json); err != nil {
			// fmt.Print(err.Error())
			c.JSON(200, gin.H{
				"state": 500,
				"msg":   "参数错误",
			})
			return
		}
		// query := Json.Query
		// base64 := query["base"]
		// tools.Savebase64(base64,)
	})
}
